草庐IT

TypeScript 模块

全部标签

javascript - typescript 重复类型声明

在以下情况下,我遇到了重复的Typescript类型声明问题:我的应用程序A有以下依赖关系树:A->@angular/http:2.3.1A->B->@angular/http:2.3.1A和B都由npm管理。运行后npminstall文件系统如下所示:A/node_modules/@angular/http...B/node_modules@angular/http问题似乎是现在有两种@angular/http类型的类型声明,例如Response或Headers。不知何故,Typescript转译器似乎无法处理这个问题——导致出现以下错误消息:TS2453:Thetypeargume

javascript - 模块级别的 Angular HTTP 拦截器

我刚刚将我的Angularv4.2.5应用程序升级到Angularv4.3.6,主要是为了使用Interceptors。这是一个非常棒的功能,提供了一种干净的方式来拦截HTTP调用。但是,我似乎无法在模块级别限定拦截器的范围。例如,我有一个AppModule,还有两个模块AModule和BModule。AModule和BModule都包含在AppModule中。现在,在Angular4中有没有一种方法可以在模块级别限定拦截器的范围,这样我在AModule中用于HTTP请求的拦截器不应该与中的HTTP请求一起使用B模块。目前,拦截器正在所有HTTP调用之间共享,这出乎我的意料。我知道所有

javascript - React Prop 类型与 Typescript

如果我在我的项目中使用typescript,那么React中prop-types的使用会过时吗?使用prop-types我将不得不经历定义类型的繁琐工作,但使用typescript,这一步将被取消。我的想法正确吗? 最佳答案 听起来不错。当您使用TypeScript时,您可以通过接口(interface)定义Prop。interfaceButtonProps{text:string,shadow?:boolean}constButton:React.FunctionComponent=props=>{return(/*[...]*/

javascript - Angular 6 - 为子模块导入共享模块

我正在尝试制作一个共享模块,但不知何故它不想工作。共享模块如下所示:import{ModuleWithProviders,NgModule}from'@angular/core';import{CommonModule}from'@angular/common';import{SharedMetaModule}from'./shared-meta';import{ApplicationState}from'./state/application-state';import{MilitaryTimePipe}from'./pipes/military-time-pipe';import{

javascript - 在 TypeScript 中使用 import/require 获取接口(interface)声明

如果我使用///引用TypeScript声明文件(例如jquery.d.ts)语法,由我来确保通过其他方式加载相应的库,即仅引用.d.ts文件不会加载库。有没有办法让TypeScript生成require()在我使用它时调用图书馆?如果我不使用AMD/requirejs,我可以调用require手动,但我想让它与AMD一起工作。这样做的好处是我的依赖项不会在两个地方定义。从.ts文件引用库就足以确保它加载,而不必在我的HTML中手动维护依赖项列表。更新:我打开了一个newquestion这澄清了我的确切情况。由于我没有提供所有必要的详细信息,因此我想对我最初的问题的答案表示赞赏。

javascript - 如何在 TypeScript 中使用声明文件

当涉及到用纯Javascript编写的声明文件和第3方库时,我在TypeScript中没有得到一些东西。假设我有以下Javascript类:$catSomeClass.jsvarSomeClass=(function(){functionSomeClass(){}SomeClass.prototype.method1=function(){return"somestring";};returnSomeClass;})();exports.SomeClass=SomeClass;我想对其进行类型检查,所以我创建了这样的声明文件:$cattest.d.tsclassSomeClass{pu

javascript - Marionette - 应用程序和模块之间的关系

我们目前正在构建一个基于Marionette的应用程序。基本上,我们有一个Marionette应用程序,上面定义了多个区域。每个区域将作为不同模块显示其View的容器。我希望每个模块都能完全控制其容器中显示的内容,但我希望应用程序分配这些区域。为简单起见,假设每个模块只有一个简单的ItemView。我正在考虑使用模块View填充这些区域的2种方法。第一种方式说的是,当每个模块初始化时,它会创建它的View,它会调用应用程序在指定区域显示它的View,例如:varapp=newMarionette.Application();app.addRegions({regionA:"#regio

javascript - 如何从 <script> 执行 webpack 模块?

我写了一个ES6模块,看起来像这样:exportdefaultfunction({makeCurrentVerUrl,verUrl,fileServer,downloadTokenType,appId}){...}用webpack编译的时候是这个样子的:webpackJsonp([5,7],[/*0*//***/function(module,exports){'usestrict';Object.defineProperty(exports,"__esModule",{value:true});exports.default=function(_ref){varmakeCurrent

javascript - 在 React.js、node.js、webpack、babel、express 中使用 fs 模块

我有一个要求,我在其中呈现我显示表单的View。在提交表单时,我需要收集表单数据并创建一个文件并将表单数据保存为该文件中的JSON。我正在使用React.js、node.js、babel和webpack。在努力实现这一目标之后,我发现我必须使用同构或通用javascript,即在服务器端使用react和渲染,因为我们不能在客户端使用fs模块。Referredthisforserverside.我使用:npmrunstart在此之后,我可以在控制台中看到[ObjectObject]从下面的react组件(HomePage.js)的第1行打印在控制台上。但是后来当我访问这个页面时它给出了一

javascript - TypeScript:如何在编译时声明固定大小的数组以进行类型检查

更新:这些检查适用于编译时,而不是运行时。在我的例子中,失败的案例都在编译时被捕获,我期望其他应该失败的案例有类似的行为。假设我正在编写一个类似表的类,我希望该类的所有成员都是相同长度的数组,例如:classMyClass{tableHead:string[3];//expecttobea3elementarrayofstringstableCells:number[3];//expecttobea3elementarrayofnumbers}目前我找到的最接近的解决方案是:classMyClass{tableHead:[string,string,string];tableCells